#include <iostream>
#include <string>
#include <vector>
#include <chrono>
#include <sw/redis++/redis++.h>

void test1(sw::redis::Redis& redis)
{
    std::cout << "set 和 get 命令的使用 " << std::endl;
    redis.flushall();

    redis.set("key1", "111");
    auto value1 = redis.get("key1");
    if(value1)
    {
        std::cout << value1.value() << std::endl;
    }

    //修改key1对应的value
    redis.set("key1", "222");
    auto value2 = redis.get("key1");
    if (value2)
    {
        std::cout << value2.value() << std::endl;
    }
}

void test2(sw::redis::Redis& redis)
{
    using namespace std::chrono_literals;
    std::cout << "set 带有超时时间" << std::endl;
    redis.flushall();

    redis.set("key1", "111", 10s);
    // redis.set("key1", "111", std::chrono::seconds(10));
    redis.set("key1", "111", 10s);

    // std::this_thread::sleep_for(std::chrono::seconds(3));
    std::this_thread::sleep_for(3s);

    long long time = redis.ttl("key1");
    std::cout << time << std::endl;
}

int main ()
{
    sw::redis::Redis redis("tcp://127.0.0.1:6379");
    // test2(redis);
    return 0;
}